package com.lzy.cloud.search.client.entity;

import org.elasticsearch.action.search.SearchType;
import org.elasticsearch.action.support.IndicesOptions;
import org.elasticsearch.search.Scroll;


/**
 * Created by WIN7 on 2018/5/22.
 */
public class EsQuery {

    /**
     * 索引数组
     */
    String[] indices;

    /**
     * 类型组
     */
    String[] Types;

    /**
     * 字段名称
     */
    String  fieldName;

    /**
     * 多个字段名称
     */
    String[]  fieldNames;

    /**
     * 字段查询内容
     */
    String  fieldText;
    /**
     *  范围最小值（包含）
     */
    String  gte;
    /**
     *  范围最小值
     */
    String  gt;

    /**
     *  范围最大值（包含）
     */
    String  lte;
    /**
     *  范围最大值
     */
    String  lt;

    /**
     *   前缀值
     */
    String  prefix;
    /**
     *   通配符值
     */
    String  wildcard;

    /**
     *   正则表达式
     */
    String  regexp;


    /**
     * 查询类型
     *
     * @return
     */
    SearchType searchType;

    /**
     * 查询类型
     *
     * @return
     */
    String searchTypeStr;

    /**
     * 为了处理大量数据
     */
    Scroll scroll;

    /**
     *
     */
    String keepAlive;

    /**
     *
     */
    String preference;

    IndicesOptions indicesOptions;

    public String[] getIndices() {
        return indices;
    }

    public void setIndices(String[] indices) {
        this.indices = indices;
    }

    public String[] getTypes() {
        return Types;
    }

    public void setTypes(String[] types) {
        Types = types;
    }

    public SearchType getSearchType() {
        return searchType;
    }

    public void setSearchType(SearchType searchType) {
        this.searchType = searchType;
    }

    public String getSearchTypeStr() {
        return searchTypeStr;
    }

    public void setSearchTypeStr(String searchTypeStr) {
        this.searchTypeStr = searchTypeStr;
    }

    public Scroll getScroll() {
        return scroll;
    }

    public void setScroll(Scroll scroll) {
        this.scroll = scroll;
    }

    public String getKeepAlive() {
        return keepAlive;
    }

    public void setKeepAlive(String keepAlive) {
        this.keepAlive = keepAlive;
    }

    public String getPreference() {
        return preference;
    }

    public void setPreference(String preference) {
        this.preference = preference;
    }

    public IndicesOptions getIndicesOptions() {
        return indicesOptions;
    }

    public void setIndicesOptions(IndicesOptions indicesOptions) {
        this.indicesOptions = indicesOptions;
    }

    public String getFieldName() {
        return fieldName;
    }

    public void setFieldName(String fieldName) {
        this.fieldName = fieldName;
    }

    public String getFieldText() {
        return fieldText;
    }

    public void setFieldText(String fieldText) {
        this.fieldText = fieldText;
    }

    public String[] getFieldNames() {
        return fieldNames;
    }

    public void setFieldNames(String[] fieldNames) {
        this.fieldNames = fieldNames;
    }

    public String getGte() {
        return gte;
    }

    public void setGte(String gte) {
        this.gte = gte;
    }

    public String getGt() {
        return gt;
    }

    public void setGt(String gt) {
        this.gt = gt;
    }

    public String getLte() {
        return lte;
    }

    public void setLte(String lte) {
        this.lte = lte;
    }

    public String getLt() {
        return lt;
    }

    public void setLt(String lt) {
        this.lt = lt;
    }

    public String getPrefix() {
        return prefix;
    }

    public void setPrefix(String prefix) {
        this.prefix = prefix;
    }

    public String getWildcard() {
        return wildcard;
    }

    public void setWildcard(String wildcard) {
        this.wildcard = wildcard;
    }

    public String getRegexp() {
        return regexp;
    }

    public void setRegexp(String regexp) {
        this.regexp = regexp;
    }
}
